Provider Tool Factory Options
constructor(outputSerializer: KSerializer<TOutput>, outputSchema: Schema<TOutput>? = null, args: Map<String, JsonElement> = emptyMap(), name: String? = null, description: String? = null, metadata: Map<String, JsonElement> = emptyMap(), execute: suspend ToolExecutionContext<TContext>.(TInput) -> TOutput? = null, needsApproval: suspend (input: TInput, options: ToolPredicateOptions<TContext>) -> Boolean? = null, toModelOutput: (TOutput, ToolPredicateOptions<TContext>) -> ToolResultOutput? = null, onInputStart: suspend (streamingId: String) -> Unit? = null, onInputDelta: suspend (streamingId: String, delta: String) -> Unit? = null, onInputAvailable: suspend (toolCallId: String, input: TInput) -> Unit? = null)